package com.csxy.six.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.csxy.six.entity.Announcement;

import java.util.List;

/**
 * 公告服务接口
 * 定义公告相关的业务操作
 */
public interface AnnouncementService extends IService<Announcement> {
    /**
     * 分页查询公告（带条件）
     */
    Page<Announcement> getPageWithCondition(Page<Announcement> page, String title,
                                            Integer categoryId, Boolean isTop,
                                            Boolean isPublished);

    /**
     * 设置/取消置顶
     */
    boolean setTopStatus(Integer announceId, Boolean isTop);

    /**
     * 发布/撤回公告
     */
    boolean setPublishStatus(Integer announceId, Boolean isPublished);

    /**
     * 获取置顶公告列表
     * 置顶公告列表（最多5条）
     */
    List<Announcement> getTopAnnouncements();
}
